#include<stdio.h>
typedef struct {
    int lineno;   // 文本行在文件中的行号
    int Uppers;   // 该行中大写字母字符的个数
    int Lowers;   // 该行中小写字母字符的个数
    int Numbers;  // 该行中数字字符的个数
    int Separators;//该行中英文分隔字符的个数（含空格、制表符、换行符、逗号、句号、分号等6种分隔符）
    int Others;    //该行中除以上情形外其他字符的个数
}LineInfo,*PLineInfo;
int GetLineInfo(FILE *fp,PLineInfo li)
{
	if(fp==NULL) return 1;

	int n;

	n=li->lineno;

	int i=0;
	for(i=n-1;i>1;i--)
	{
		fscanf(fp,"%*[^\n]");
	}

	char a[255]={0};
	char ch;
	for(i=0;;i++)
	{
		ch=getchar();
	

	if(ch=='\0') break;

	a[i]=ch;
	}
	a[i]='\0';
	int i0=i;
	for(i=0;i<i0;i++)
	{
		if(a[i]>=65 && a[i] <=90) li->Uppers++;
		else if(a[i]>97 && a[i]<=122) li->Lowers++;
		else if(a[i]>=48 && a[i]<=57) li->Numbers++;
		else if(a[i]==' ' ||a[i]=='	' ||a[i]==',' || a[i]=='\n' ||a[i]=='.' || a[i]==';') li->Separators++;
		else li->Others++;
	}

	return 0;
}


